Prior Art
In the field of artificial intelligence, expert systems have come to be well known. These are systems that simulate a human expert's abilities. One type of such a system conducts an interactive consultation with a human client to address the client's needs, concerns or problems. The system and its program provide the assistance and advice that would be provided by a human expert in response to the same consultation questions and inquiries. Systems of this type are being increasingly used in many different applications including complex system controls, network management, hardware and software problem determination, computer system configuring, medical diagnosis, mineral exploration and other "knowledge domains" where human expertise is generally required.
These systems normally utilize a controlling program for analyzing a client's inquiries and providing access to the system's knowledge base that contains responsive queries and various answers and data. The controlling program provides access to the knowledge base utilizing inferential capability and logic. The inferencing and logic means is generally contained in a "shell" to which the knowledge base for the user's domain of interest is added.
Expert system shells access the domain's knowledge base to provide responses to a client's inquiry either in the form of a question to be answered by the client in order to elicit enough information to provide an answer, or eventually provide an answer or data that will suit the client's request. The controlling shells are designed to work with the knowledge bases for the various knowledge domains that they are to access and utilize. The development of such shells is a highly time consuming and costly task. As a consequence, generalized shells that operate on more generalized knowledge bases have been developed. These general control system shells have come to be known in association with various areas of expertise. Several commercially available shells exist and can be purchased or licensed for use in a variety of knowledge base domains. Some examples are EMYCIN which was developed by Stanford University and which has been useful with knowledge bases in the field of bacterial disease. Another commercially available shell is M.1 developed and licensed by the Teknowledge Corporation. Yet another expert system shell is known as the Expert System Environment developed by the IBM Corporation as program number 5798-XXX. Expert System Environment is available in a number of versions depending upon the computer operating system on which it is desired to run. A general information manual GH20-9597-1 is available and a reference manual SH20-9609-2 and user's guide SH20-9608-1 exist and can be purchased separately from the IBM Corporation for a greater understanding of its existing shell.
The operation of each of the "shells" is somewhat similar but differs with respect to the particular computer or operating system in which it is intended to run and with respect to the type of knowledge that it can most conveniently process.
An expert system shell operates on a knowledge base. The development of a knowledge base or a given domain of expertise is a tedious, costly and time consuming task. The knowledge base itself is structured according to the operating details of the specific shell with which it is intended for use. Human expertise in the particular domain of knowledge is required to construct a knowledge base. A human "domain expert", whose data may be augmented by human textual material that may be managed or made available by human beings or by computer retrieval systems or the like, is employed to help create the knowledge base. The domain expert, of course, needs to have the details and/or instructions of how to build the specific knowledge base for the particular "shell" that is to be used. The shell vendors provide the instructions and also provide sample knowledge bases to facilitate construction of specific knowledge bases by domain experts who intend to use the vendor's shells.
For example, MYCIN is the commercial name of an expert system that provides consultations on bacterial disease. MYCIN was developed at Stanford University and is described in the book entitled, "Rule Based Expert Systems" by Buchanan and Shortliffe.
A problem exists in this field of which is due to the complexity of expert systems and the amount of storage required. An expert system itself is the combination of the inferencing and access logic means, generally referred to as the "shell", and the knowledge base with which the shell is to be used. Such systems require substantial amounts of active computer memory for processing and generally require a high speed logic system for their execution and/or development. This is true partially because each shell contains an inferencing mechanism that requires substantial portions of active memory for storage, analysis and formulation of further logical alternatives and inquiry paths in response to specific user inquiries. The large storage requirements are also due to the massive contents of any specific knowledge base.
This problem becomes acute and raises substantially the cost of using replicated expert systems, a type of usage that is often desired since access to the available expertise of the system is often needed at a variety of locations. Thus, expert systems are usually not available at all without access to large computer system resources. Potential users of the expertise within a given knowledge domain managed by an expert system of this type often have dispersed computer or data processing operations and do not have at each location the amount of computer system resource that is required. Each individual location at which access to consultational execution of centrally developed expert systems might either be necessary or desired may not, therefore, be able to obtain such services. Even the users that do have access to such major system resources may desire to conduct their consultation at some other more remote location where the computer resource is not available. Additionally, some computer environments differ from those on which the expert system may have originally been developed and thus the expert system cannot be used at all.
It might be useful, therefore, to attempt to provide an expert system that is available for clients without regard to the type of computer system on which the expert system will be operated. This would require that the users have a computer system that can run the "shell" used for implementing and developing the expert system. This system need not necessarily be the specific computer system for which the shell that they intend to use was developed. However, such "universal" expert systems are not available due to the aforementioned problem of a great investment in system size and resource that is necessary.
It is also apparent that a great deal of expense and time will be utilized in developing specific knowledge bases and shells. The resulting cost of delivering a full expert system to a human client is therefore prohibitively large in many instances. It would be desirable if the full benefit of expert system consultation could be made available to end users without exposing either the knowledge base or the expensive inferencing mechanism and logic system in the "shell" portion. It is the shell that combines the known pieces of information, decides what other information to seek and which uses all of those resources available to produce a valid consultation result in the original expert system. Thus, the inferencing methodology of a KB/shell combination is a highly valuable piece of system control programming of which exposure should desirably be limited or prevented, if possible.
In the foregoing cases, it would be most desirable if a "delivery vehicle" that does not expose the interactions of the knowledge base and the shell mechanism of the original expert system could be provided. Such a "delivery vehicle" would be any means or technique that permits dissemination of or delivery of or access to the available expertise in the expert system without exposing either the expert system shell or all of the specific knowledge base. For example, it would be most desirable to provide the capability of running consultations against the expertise of an expert system on small personal computers without exposing either the original knowledge base or the inferencing shell mechanism to duplication and/or discovery by the users.